iT邦幫忙

2022 iThome 鐵人賽

DAY 18
0

它為了解決什麼問題而生?

當一個基於 OOP 開發的遊戲日漸增長時,資料、邏輯和各種實作會分散在各種不同的物件之中,使得程式碼越來越難理解,間接造成維護成本越來越高。

ECS 便是為了解決這種問題而生的架構,它主張資料與運算邏輯分離,並定義了幾個角色:

  • Component,也就是資料。
  • Entity,資料的索引,一個 Entity 可以包含複數個 Component
  • System,運算邏輯實作的地方

額外的好處

因為運算來自於循序執行 System,因此狀態的行為變得更容易預測,有助於除錯。並且因為資料全部放在一起,只要將資料序列化儲存就能保存遊戲狀態。


上一篇
Day 17 有想過用 React 寫 CLI 嗎?沒有,因為你只想拿 React 來寫網頁(blessed 與 blessed-react 簡介)
下一篇
Day 19 Pixel Art (LibreSprite, Aseprite 簡介)
系列文
關於用 Javascript (Typescript) Stack 打造某種 Backend 3D Rendering 的東東這檔事23
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言